package com.xxxcompany.world.service.impl;

import java.sql.SQLException;
import java.util.List;

import com.xxxcompany.world.dao.ICityDAO;

import com.xxxcompany.world.dao.impl.CityDAOImpl;

import com.xxxcompany.world.entity.City;
import com.xxxcompany.world.entity.Country;
import com.xxxcompany.world.entity.PageBean;
import com.xxxcompany.world.service.ICityService;


public class CityServiceImpl implements ICityService{

	ICityDAO dao = new CityDAOImpl();
	
	@Override
	public List<City> findAll() {
		
		try {
			return dao.findAll();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

	@Override
	public PageBean findByPage(int page, int countPerPage) {
		// TODO Auto-generated method stub
		PageBean pageBean = new PageBean();

		// 1. 查询这一页的国家列表
		// 计算从什么位置开始查询
		int index = (page - 1) * countPerPage;
		List<City> list = null;
		try {
			list = dao.find(index, countPerPage);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		pageBean.setList(list);

		// 2.
		// 当前第几页
		pageBean.setPage(page);
		// 每页数量
		pageBean.setCountPerPage(countPerPage);
		// 总页数 = 国家数量 / 每页数量
		// 查询国家数量
		int count = 0;
		try {
			count = dao.getCount();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		int pageCount = (count - 1) / countPerPage + 1;
		pageBean.setPageCount(pageCount);

		// 计算begin end
		int begin = page - 5;
		if (begin < 1)
			begin = 1;
		int end = page + 5;
		if (end > pageCount)
			end = pageCount;

		pageBean.setBegin(begin);
		pageBean.setEnd(end);

		return pageBean;
	}



}
